`
https://leetcode.cn/problems/meeting-rooms-ii/
`

var minMeetingRooms = function(meetings) {
  const n = meetings.length;
  const begin = new Array(n);
  const end = new Array(n);
  for(let i = 0; i < n; i++) {
      begin[i] = meetings[i][0];
      end[i] = meetings[i][1];
  }
  begin.sort((a, b) => a - b);
  end.sort((a, b) => a - b);

  // 扫描过程中的计数器
  let count = 0;
  // 双指针技巧
  let res = 0, i = 0, j = 0;
  while (i < n && j < n) {
      if (begin[i] < end[j]) {
          // 扫描到一个红点
          count++;
          i++;
      } else {
          // 扫描到一个绿点
          count--;
          j++;
      }
      // 记录扫描过程中的最大值
      res = Math.max(res, count);
  }
  
  return res;
};